The present invention relates to a protocol machine for use in processing communication between a plurality of information processing apparatuses linked by a communication line or lines.
An information processing apparatus having such a protocol machine is usually linked to another information processing apparatus by at least one communication line. Such information processing apparatuses have a protocol machine, application programs and communication means which process communication with other information processing apparatuses. The protocol machine may be realized by several programs. Such programs have a structure in which the application program as the user of the protocol machine and the communication means to be used by the protocol machine are independent of each other. In such a system, communication between the application program and an application program in another information processing apparatus is accomplished in the following manner.
The procedure of data transmission is as follows.
The protocol machine is requested by the application program to transmit data to another information processing apparatus. Signals given to the protocol machine and the actions to be taken by the protocol machine in response to the respective signals are prescribed in a state transition table prepared in accordance with the protocol. In response to a data transmission request from the application program, the protocol machine executes transmission processing as provided for in the state transition table. Thus the protocol machine, when there arises a need to transmit data to another information processing apparatus, prepares protocol-prescribed control data on the basis of data supplied from the application program and notifies the communication means of the occurrence of a transmission event. In response to this notification of the transmission event occurrence, the communication means transmits the data prepared by the protocol machine to the information processing apparatus via a communication line.
The procedure of data reception is as follows.
The protocol machine is requested by the application program to receive data. The protocol machine supplies the application program with any data which has been received by the protocol machine from the transmitting information processing apparatus but not yet handed over to the application program.
In the absence of any data, the application program will take on a status of stand-by until the occurrence of a reception event. After stand-by, in response to data from the transmitting information processing apparatus, the communication means instructs the protocol machine to receive the data. Responding to this instruction to receive data, the protocol machine analyzes the data which it received from the communication means according to the protocol, and judges whether or not the data has been generated to be handed over to the application program. The protocol machine, if it judges data has been generated to be handed over, notifies the application program of the occurrence of a reception event. In response to this notification of the reception event occurrence, the application program is released from the stand-by state, and the data are handed over by the protocol machine to the application program.
If a plurality of application programs are to be simultaneously operated within an information processing apparatus, the protocol machine is shared by those plurality of application programs.
Such a protocol machine has the following disadvantages since the protocol machine has several programs with a structure independent of application programs which are the users of the protocol machine and communication means, which are used by the protocol machine.
First is the disadvantage of protocol processing inefficiency because of frequent instructions and reception events. Thus, when an application program requests data transmission, an event instruction must be sent from the application program to the protocol machine. Similarly when the protocol machine requests data transmission from the communication means, an instruction must be sent from the protocol machine to the communication means. When the communication means issues an instruction to receive data, the communication means sends an instruction to notify the protocol machine to receive data. Similarly when the protocol machine requests data reception, it notifies an application program of a reception event.
The instruction or reception event between programs generally reduces the efficiency of protocol processing. A long processing time is required in the information processing apparatus.
Processing time is especially reduced when a large quantity of data is to be transferred at high speed as in the case of a file transfer. To make data transfer more efficient it is possible to accumulate the data from an application program in the protocol machine and subsequently transmit the data collectively to the receiving information processing apparatus via the communication means. With collective transmission, transmission events from the protocol machine to the communication means do not occur so frequently. Without collection transmission a data transmission request from the application program to the protocol machine occurs every time data are handed over from the application program to the protocol machine, resulting in a significant deterioration of efficiency.
Second disadvantage is as follows.
When a plurality of application programs are to be operated in an information processing apparatus, there arise reception events from more than one application program to one protocol machine. As a result, the protocol machine poses a bottleneck to processing by the information processing apparatus, resulting in a deterioration in the performance of the information processing apparatus.